#ifndef SEM_HPP
#define SEM_HPP

#include <iostream>
#include <semaphore.h>

class Sem
{
private:
    sem_t _sem;
public:
    Sem(int value)
    { 
        sem_init(&_sem,0,value);
    }

    void P()
    {
        sem_wait(&_sem);
    }

    void V()
    {
        sem_post(&_sem);
    }

    ~Sem()
    {
        sem_destroy(&_sem);
    }

};

#endif